package com.atguigu.gmall.pms.service.impl;

import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.atguigu.gmall.common.bean.PageResultVo;
import com.atguigu.gmall.common.bean.PageParamVo;

import com.atguigu.gmall.pms.mapper.AttrMapper;
import com.atguigu.gmall.pms.entity.AttrEntity;
import com.atguigu.gmall.pms.service.AttrService;


@Service("attrService")
public class AttrServiceImpl extends ServiceImpl<AttrMapper, AttrEntity> implements AttrService {

    @Override
    public PageResultVo queryPage(PageParamVo paramVo) {
        IPage<AttrEntity> page = this.page(
                paramVo.getPage(),
                new QueryWrapper<AttrEntity>()
        );

        return new PageResultVo(page);
    }

    /**查询分类下的规格参数
     *
     * @param cid 分类category_id
     * @param type 是否是基本属性 可为空
     * @param searchType 是否是搜索参数 可为空
     * @return
     */
    @Override
    public List<AttrEntity> queryAttrByCid(Long cid, Integer type, Integer searchType) {
        QueryWrapper<AttrEntity> wrapper = new QueryWrapper<>();
        //查询分类下的规格参数
        wrapper.eq("category_id", cid);
        if (type!=null){
            //0-销售属性，1-基本属性
            wrapper.eq("type", type);
        }
        if (searchType!=null){
            //0-非搜索参数，1-搜索参数
            wrapper.eq("search_type", searchType);
        }

        return this.list(wrapper);
    }

}